package utility;


import model.Usuario;
import control.ChamadoController;
import control.ContatoController;
import control.EstadoCivilController;
import control.FuncaoController;
import control.FuncionarioController;
import control.LojaController;
import control.NacionalidadeController;
import control.TecnicoController;
import control.UsuarioController;

public class Fachada {

	private ContatoController contatoController;
	private FuncionarioController funcionarioController;
	private FuncaoController funcaoController;
	private UsuarioController usuarioController;
	private LojaController lojaController;
	private ChamadoController chamadoController;
	private TecnicoController tecnicoController;
	private EstadoCivilController estadoCivilController;
	private NacionalidadeController nacionalidadeController;
	
	private static Fachada instance;
	
	private Fachada(){
		
		this.contatoController = new ContatoController();
		this.funcionarioController = new FuncionarioController();
		this.funcaoController = new FuncaoController();
		this.usuarioController = new UsuarioController();
		this.lojaController = new LojaController();
		this.chamadoController = new ChamadoController();
		this.tecnicoController = new TecnicoController();
		this.estadoCivilController = new EstadoCivilController();
		this.nacionalidadeController =  new NacionalidadeController();
		
	}
	
	public static Fachada getInstace(){
		
		if(instance == null){
			instance = new Fachada();
		}
		return instance;
	}
	
	public ContatoController getContatoController(){
		return this.contatoController;
	}
	
	public FuncionarioController getFuncionarioController(){
		return this.funcionarioController;
	}
	
	public FuncaoController getFuncaoController(){
		return this.funcaoController;
	}
	
	public UsuarioController getUsuarioController(){
		return this.usuarioController;
	}
	
	public LojaController getLojaController(){
		return this.lojaController;
	}
	
	public ChamadoController getChamadoController(){
		return this.chamadoController;
	}
	
	public TecnicoController getTecnicoController(){
		return this.tecnicoController;
	}
	
	public EstadoCivilController getEstadoCivilController(){
		return this.estadoCivilController;
	}
	
	public NacionalidadeController getNacionalidadeController(){
		return this.nacionalidadeController;
	}
}
